[INFO] cloning repository https://github.com/mmai/webtarot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mmai/webtarot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmai%2Fwebtarot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmai%2Fwebtarot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 76d263f3ecf7da496bfe63a3e7f4fa69c7337bad
[INFO] building mmai/webtarot against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmai%2Fwebtarot" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mmai/webtarot on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mmai/webtarot
[INFO] finished tweaking git repo https://github.com/mmai/webtarot
[INFO] tweaked toml for git repo https://github.com/mmai/webtarot written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/mmai/webtarot already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2839aeb0fd13e71d28a6c9de3537c148e13a913f7bc83853de58a305ebc8814f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2839aeb0fd13e71d28a6c9de3537c148e13a913f7bc83853de58a305ebc8814f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2839aeb0fd13e71d28a6c9de3537c148e13a913f7bc83853de58a305ebc8814f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2839aeb0fd13e71d28a6c9de3537c148e13a913f7bc83853de58a305ebc8814f", kill_on_drop: false }`
[INFO] [stdout] 2839aeb0fd13e71d28a6c9de3537c148e13a913f7bc83853de58a305ebc8814f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f35f58f1e9b2e076c13773388ac0f3a1342370024a63f5f91a9a69ec292e124
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5f35f58f1e9b2e076c13773388ac0f3a1342370024a63f5f91a9a69ec292e124", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.67
[INFO] [stderr]    Compiling libc v0.2.92
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.73
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling bumpalo v3.6.1
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling futures-core v0.3.13
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.73
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling futures-sink v0.3.13
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling pin-project-lite v0.2.6
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling futures-task v0.3.13
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling futures-io v0.3.13
[INFO] [stderr]    Compiling bytes v0.5.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling httparse v1.3.5
[INFO] [stderr]    Compiling openssl v0.10.33
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling cpuid-bool v0.1.2
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling pin-project-lite v0.1.12
[INFO] [stderr]    Compiling regex-syntax v0.6.23
[INFO] [stderr]    Compiling pin-project-internal v0.4.28
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling strum v0.19.5
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling tinystr v0.3.4
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling httpdate v0.3.2
[INFO] [stderr]    Compiling async-trait v0.1.48
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling futures v0.1.31
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling yew v0.17.4
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling urlencoding v1.1.1
[INFO] [stderr]    Compiling cfg-match v0.2.1
[INFO] [stderr]    Compiling anymap v0.12.1
[INFO] [stderr]    Compiling tracing-core v0.1.17
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling lock_api v0.3.4
[INFO] [stderr]    Compiling lock_api v0.4.2
[INFO] [stderr]    Compiling tinyvec v1.1.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling futures-channel v0.3.13
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling http v0.2.3
[INFO] [stderr]    Compiling input_buffer v0.3.1
[INFO] [stderr]    Compiling unic-langid-impl v0.9.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling im-rc v14.3.0
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling gettext v0.4.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling rust-embed-utils v5.1.0
[INFO] [stderr]    Compiling unic-langid v0.9.0
[INFO] [stderr]    Compiling crossbeam-channel v0.3.9
[INFO] [stderr]    Compiling tracing v0.1.25
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling fluent-langneg v0.13.0
[INFO] [stderr]    Compiling tr v0.1.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.7.2
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling bitmaps v2.1.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.0
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling socket2 v0.3.19
[INFO] [stderr]    Compiling listenfd v0.3.3
[INFO] [stderr]    Compiling tokio-executor v0.1.10
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling openssl-sys v0.9.61
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.17
[INFO] [stderr]    Compiling sha-1 v0.9.4
[INFO] [stderr]    Compiling tokio-timer v0.2.13
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_xoshiro v0.4.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling sled v0.34.6
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling http-body v0.3.1
[INFO] [stderr]    Compiling regex v1.4.5
[INFO] [stderr]    Compiling headers v0.3.4
[INFO] [stderr]    Compiling idna v0.2.2
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling multipart v0.17.1
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling url v2.2.1
[INFO] [stderr]    Compiling pretty_env_logger v0.4.0
[INFO] [stderr]    Compiling sized-chunks v0.5.3
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.73
[INFO] [stderr]    Compiling tungstenite v0.11.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.73
[INFO] [stderr]    Compiling futures-macro v0.3.13
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]    Compiling pin-project-internal v1.0.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling strum_macros v0.19.4
[INFO] [stderr]    Compiling rust-embed-impl v5.9.0
[INFO] [stderr]    Compiling weblog-proc-macro v0.3.0
[INFO] [stderr]    Compiling yew-macro v0.17.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.73
[INFO] [stderr]    Compiling rust-embed v5.9.0
[INFO] [stderr]    Compiling tokio v0.2.25
[INFO] [stderr]    Compiling futures-util v0.3.13
[INFO] [stderr]    Compiling js-sys v0.3.50
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling pin-project v1.0.6
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling pin-project v0.4.28
[INFO] [stderr]    Compiling futures-executor v0.3.13
[INFO] [stderr]    Compiling futures v0.3.13
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.11.0
[INFO] [stderr]    Compiling h2 v0.2.7
[INFO] [stderr]    Compiling web-sys v0.3.50
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.23
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling bincode v1.3.2
[INFO] [stderr]    Compiling tarotgame v0.6.1 (/opt/rustwide/workdir/tarotgame)
[INFO] [stderr]    Compiling serde_bytes v0.11.5
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling serde_urlencoded v0.6.1
[INFO] [stderr]    Compiling sled v0.29.2
[INFO] [stderr]    Compiling hyper v0.13.10
[INFO] [stderr]    Compiling webgame_protocol v0.6.2 (https://github.com/mmai/webgame?tag=v0.7.6#492ed1f8)
[INFO] [stderr]    Compiling i18n-config v0.2.2
[INFO] [stderr]    Compiling webtarot_protocol v0.7.6 (/opt/rustwide/workdir/webtarot_protocol)
[INFO] [stderr]    Compiling i18n-embed-impl v0.4.0
[INFO] [stderr]    Compiling webtarot_bot v0.4.3 (/opt/rustwide/workdir/webtarot_bot)
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/socket_listener.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixStream`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::net::{UnixStream,UnixListener};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_seeded_hands`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tarotgame::{deal_seeded_hands, cards::{Deck, Card, Hand, Suit, Rank}, deal::can_play, bid::Target, points::strength, pos::PlayerPos, ...
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayEvent`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:12:186
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...idCommand, CallKingCommand, MakeDogCommand, Turn, PlayerRole, PlayEvent, TarotVariant, VariantSettings};
[INFO] [stdout]    |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]  --> webtarot_bot/src/in_out_websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nicknamer`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let nicknamer = Mutex::new(NickNamer::new()); 
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nicknamer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:272:29
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     .find(|(idx, pstat)| pstat.played.has(king))
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pstat`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     .map(|(idx, pstat)| idx);
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pstat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `play_event`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             Message::PlayEvent(play_event) => {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_play_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystate`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     let mystate = self.my_state().clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let now = time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vingtetun`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let vingtetun = Card::new(Suit::Trump, Rank::Rank21);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vingtetun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mylowest`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:885:25
[INFO] [stdout]     |
[INFO] [stdout] 885 |             if let Some(mylowest) = hand.suit_lowest_over_card(Suit::Trump, winner_card){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mylowest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> webtarot_bot/src/player.rs:658:25
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     let mut myhighest = my_highest.unwrap();
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> webtarot_bot/src/player.rs:515:47
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut candidates: Vec<Card> = suits.into_iter()
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         self.in_out.send(&Command::Authenticate(AuthenticateCommand { nickname: self.player_info.nickname.clone() }));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 | /             self.stats.players.iter_mut().map(|pstat|
[INFO] [stdout] 293 | |                 pstat.in_taker_team = Some(pstat.is_taker)
[INFO] [stdout] 294 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.in_out.send(&Command::NewGame(variant));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:334:21
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 self.in_out.send(&Command::MarkReady);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Bid(BidCommand { target, slam: false })));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Pass));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:388:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::CallKing(CallKingCommand { card: self.call_king() })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::MakeDog(MakeDogCommand { cards: dog, slam: false })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   self.in_out.send(&Command::GamePlay(GamePlayCommand::Play(PlayCommand { card })));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> webtarot_bot/src/in_out_websocket.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.socket.close(None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `GamePlayCommand`, `GamePlayerState`, `GameStateSnapshot`, `Message`, `PlayCommand`, `PlayerAction`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use webtarot_protocol::{Message, Command, GameStateSnapshot, PlayerAction, GamePlayCommand, PlayCommand, GamePlayerState};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthenticateCommand`, `JoinGameCommand`, `PlayerInfo`
[INFO] [stdout]   --> webtarot_bot/src/simulator.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use webgame_protocol::{AuthenticateCommand, JoinGameCommand, PlayerInfo};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::player`
[INFO] [stdout]   --> webtarot_bot/src/simulator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/socket_listener.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixStream`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::net::{UnixStream,UnixListener};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_seeded_hands`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tarotgame::{deal_seeded_hands, cards::{Deck, Card, Hand, Suit, Rank}, deal::can_play, bid::Target, points::strength, pos::PlayerPos, ...
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayEvent`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:12:186
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...idCommand, CallKingCommand, MakeDogCommand, Turn, PlayerRole, PlayEvent, TarotVariant, VariantSettings};
[INFO] [stdout]    |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::connect`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tungstenite::connect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::protocol::WebSocket`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tungstenite::protocol::WebSocket;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `GamePlayCommand`, `GamePlayerState`, `GameStateSnapshot`, `Message`, `PlayCommand`, `PlayerAction`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use webtarot_protocol::{Message, Command, GameStateSnapshot, PlayerAction, GamePlayCommand, PlayCommand, GamePlayerState};
[INFO] [stdout]    |                         ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthenticateCommand`, `JoinGameCommand`, `PlayerInfo`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use webgame_protocol::{AuthenticateCommand, JoinGameCommand, PlayerInfo};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::player`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]  --> webtarot_bot/src/in_out_websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sled-extensions v0.2.0
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> webtarot_bot/src/explorer.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .find(|(i, n)| **n < 255)
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nicknamer`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let nicknamer = Mutex::new(NickNamer::new()); 
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nicknamer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:272:29
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     .find(|(idx, pstat)| pstat.played.has(king))
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pstat`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     .map(|(idx, pstat)| idx);
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pstat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `play_event`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             Message::PlayEvent(play_event) => {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_play_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystate`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     let mystate = self.my_state().clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let now = time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vingtetun`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let vingtetun = Card::new(Suit::Trump, Rank::Rank21);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vingtetun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mylowest`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:885:25
[INFO] [stdout]     |
[INFO] [stdout] 885 |             if let Some(mylowest) = hand.suit_lowest_over_card(Suit::Trump, winner_card){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mylowest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> webtarot_bot/src/player.rs:658:25
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     let mut myhighest = my_highest.unwrap();
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> webtarot_bot/src/player.rs:515:47
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut candidates: Vec<Card> = suits.into_iter()
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         self.in_out.send(&Command::Authenticate(AuthenticateCommand { nickname: self.player_info.nickname.clone() }));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 | /             self.stats.players.iter_mut().map(|pstat|
[INFO] [stdout] 293 | |                 pstat.in_taker_team = Some(pstat.is_taker)
[INFO] [stdout] 294 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.in_out.send(&Command::NewGame(variant));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:334:21
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 self.in_out.send(&Command::MarkReady);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Bid(BidCommand { target, slam: false })));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Pass));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:388:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::CallKing(CallKingCommand { card: self.call_king() })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::MakeDog(MakeDogCommand { cards: dog, slam: false })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   self.in_out.send(&Command::GamePlay(GamePlayCommand::Play(PlayCommand { card })));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> webtarot_bot/src/in_out_websocket.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.socket.close(None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling warp v0.2.5
[INFO] [stderr]    Compiling gloo-events v0.1.1
[INFO] [stderr]    Compiling gloo-console-timer v0.1.0
[INFO] [stderr]    Compiling gloo-timers v0.2.1
[INFO] [stderr]    Compiling weblog v0.3.0
[INFO] [stderr]    Compiling i18n-embed v0.6.1
[INFO] [stderr]    Compiling gloo-file v0.1.0
[INFO] [stderr]    Compiling gloo v0.2.1
[INFO] [stderr]    Compiling webgame_server v0.7.5 (https://github.com/mmai/webgame?tag=v0.7.6#492ed1f8)
[INFO] [stderr]    Compiling webtarot_client v0.7.6 (/opt/rustwide/workdir/webtarot_client)
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling webtarot_server v0.7.6 (/opt/rustwide/workdir/webtarot_server)
[INFO] [stdout] warning: unused import: `tr::tr`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tr::tr;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DealSnapshot`, `Turn`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::protocol::{GameStateSnapshot, DealSnapshot, PlayerRole, GamePlayerState, Turn};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deal_size`, `trick`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | use tarotgame::{bid, deal, cards, deal_size, trick, Announce};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::format_join_code`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::utils::format_join_code;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> webtarot_client/src/views/game.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty_scores`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let empty_scores = vec![0.0;nb_players];
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_scores`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn_info`
[INFO] [stdout]    --> webtarot_client/src/views/game.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let turn_info = match self.game_state.turn {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_turn_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `contract_info`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     contract_info: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "5f35f58f1e9b2e076c13773388ac0f3a1342370024a63f5f91a9a69ec292e124", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f35f58f1e9b2e076c13773388ac0f3a1342370024a63f5f91a9a69ec292e124", kill_on_drop: false }`
[INFO] [stdout] 5f35f58f1e9b2e076c13773388ac0f3a1342370024a63f5f91a9a69ec292e124
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b580f4873b1525deea08da21c1d391bc642f1ae53f866f1f813e379675a9403
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6b580f4873b1525deea08da21c1d391bc642f1ae53f866f1f813e379675a9403", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling tarotgame v0.6.1 (/opt/rustwide/workdir/tarotgame)
[INFO] [stderr]    Compiling webtarot_protocol v0.7.6 (/opt/rustwide/workdir/webtarot_protocol)
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/socket_listener.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixStream`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::net::{UnixStream,UnixListener};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_seeded_hands`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tarotgame::{deal_seeded_hands, cards::{Deck, Card, Hand, Suit, Rank}, deal::can_play, bid::Target, points::strength, pos::PlayerPos, ...
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayEvent`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:12:186
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...idCommand, CallKingCommand, MakeDogCommand, Turn, PlayerRole, PlayEvent, TarotVariant, VariantSettings};
[INFO] [stdout]    |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]  --> webtarot_bot/src/in_out_websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nicknamer`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let nicknamer = Mutex::new(NickNamer::new()); 
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nicknamer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:272:29
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     .find(|(idx, pstat)| pstat.played.has(king))
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pstat`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     .map(|(idx, pstat)| idx);
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pstat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `play_event`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             Message::PlayEvent(play_event) => {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_play_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystate`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     let mystate = self.my_state().clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let now = time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vingtetun`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let vingtetun = Card::new(Suit::Trump, Rank::Rank21);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vingtetun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mylowest`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:885:25
[INFO] [stdout]     |
[INFO] [stdout] 885 |             if let Some(mylowest) = hand.suit_lowest_over_card(Suit::Trump, winner_card){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mylowest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> webtarot_bot/src/player.rs:658:25
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     let mut myhighest = my_highest.unwrap();
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> webtarot_bot/src/player.rs:515:47
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut candidates: Vec<Card> = suits.into_iter()
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         self.in_out.send(&Command::Authenticate(AuthenticateCommand { nickname: self.player_info.nickname.clone() }));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 | /             self.stats.players.iter_mut().map(|pstat|
[INFO] [stdout] 293 | |                 pstat.in_taker_team = Some(pstat.is_taker)
[INFO] [stdout] 294 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.in_out.send(&Command::NewGame(variant));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:334:21
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 self.in_out.send(&Command::MarkReady);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling webtarot_bot v0.4.3 (/opt/rustwide/workdir/webtarot_bot)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Bid(BidCommand { target, slam: false })));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling webtarot_server v0.7.6 (/opt/rustwide/workdir/webtarot_server)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Pass));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:388:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::CallKing(CallKingCommand { card: self.call_king() })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::MakeDog(MakeDogCommand { cards: dog, slam: false })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   self.in_out.send(&Command::GamePlay(GamePlayCommand::Play(PlayCommand { card })));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> webtarot_bot/src/in_out_websocket.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.socket.close(None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tr::tr`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tr::tr;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling webtarot_client v0.7.6 (/opt/rustwide/workdir/webtarot_client)
[INFO] [stdout] warning: unused imports: `DealSnapshot`, `Turn`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::protocol::{GameStateSnapshot, DealSnapshot, PlayerRole, GamePlayerState, Turn};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deal_size`, `trick`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | use tarotgame::{bid, deal, cards, deal_size, trick, Announce};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::format_join_code`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::utils::format_join_code;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> webtarot_client/src/views/game.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty_scores`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let empty_scores = vec![0.0;nb_players];
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_scores`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn_info`
[INFO] [stdout]    --> webtarot_client/src/views/game.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let turn_info = match self.game_state.turn {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_turn_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `contract_info`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     contract_info: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `GamePlayCommand`, `GamePlayerState`, `GameStateSnapshot`, `Message`, `PlayCommand`, `PlayerAction`
[INFO] [stdout]  --> webtarot_bot/src/simulator.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use webtarot_protocol::{Message, Command, GameStateSnapshot, PlayerAction, GamePlayCommand, PlayCommand, GamePlayerState};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthenticateCommand`, `JoinGameCommand`, `PlayerInfo`
[INFO] [stdout]   --> webtarot_bot/src/simulator.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use webgame_protocol::{AuthenticateCommand, JoinGameCommand, PlayerInfo};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::player`
[INFO] [stdout]   --> webtarot_bot/src/simulator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/socket_listener.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixStream`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::net::{UnixStream,UnixListener};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_seeded_hands`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tarotgame::{deal_seeded_hands, cards::{Deck, Card, Hand, Suit, Rank}, deal::can_play, bid::Target, points::strength, pos::PlayerPos, ...
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayEvent`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:12:186
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...idCommand, CallKingCommand, MakeDogCommand, Turn, PlayerRole, PlayEvent, TarotVariant, VariantSettings};
[INFO] [stdout]    |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::connect`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tungstenite::connect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::protocol::WebSocket`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tungstenite::protocol::WebSocket;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> webtarot_bot/src/player_factory.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `GamePlayCommand`, `GamePlayerState`, `GameStateSnapshot`, `Message`, `PlayCommand`, `PlayerAction`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use webtarot_protocol::{Message, Command, GameStateSnapshot, PlayerAction, GamePlayCommand, PlayCommand, GamePlayerState};
[INFO] [stdout]    |                         ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthenticateCommand`, `JoinGameCommand`, `PlayerInfo`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use webgame_protocol::{AuthenticateCommand, JoinGameCommand, PlayerInfo};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::player`
[INFO] [stdout]   --> webtarot_bot/src/player_factory.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]  --> webtarot_bot/src/in_out_websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tungstenite::stream::Stream`
[INFO] [stdout]  --> webtarot_bot/src/socket_listener.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tungstenite::stream::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixStream`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::net::{UnixStream,UnixListener};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_seeded_hands`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tarotgame::{deal_seeded_hands, cards::{Deck, Card, Hand, Suit, Rank}, deal::can_play, bid::Target, points::strength, pos::PlayerPos, ...
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayEvent`
[INFO] [stdout]   --> webtarot_bot/src/player.rs:12:186
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...idCommand, CallKingCommand, MakeDogCommand, Turn, PlayerRole, PlayEvent, TarotVariant, VariantSettings};
[INFO] [stdout]    |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]  --> webtarot_bot/src/in_out_websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> webtarot_bot/src/player.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nicknamer`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let nicknamer = Mutex::new(NickNamer::new()); 
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nicknamer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:272:29
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     .find(|(idx, pstat)| pstat.played.has(king))
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pstat`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     .map(|(idx, pstat)| idx);
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pstat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `play_event`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             Message::PlayEvent(play_event) => {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_play_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystate`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     let mystate = self.my_state().clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let now = time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vingtetun`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let vingtetun = Card::new(Suit::Trump, Rank::Rank21);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vingtetun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mylowest`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:885:25
[INFO] [stdout]     |
[INFO] [stdout] 885 |             if let Some(mylowest) = hand.suit_lowest_over_card(Suit::Trump, winner_card){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mylowest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> webtarot_bot/src/explorer.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .find(|(i, n)| **n < 255)
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nicknamer`
[INFO] [stdout]   --> webtarot_bot/src/socket_listener.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let nicknamer = Mutex::new(NickNamer::new()); 
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nicknamer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:272:29
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     .find(|(idx, pstat)| pstat.played.has(king))
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pstat`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     .map(|(idx, pstat)| idx);
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pstat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystats`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mystats = &self.stats.players[me_pos];
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `play_event`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             Message::PlayEvent(play_event) => {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_play_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mystate`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     let mystate = self.my_state().clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mystate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let now = time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vingtetun`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let vingtetun = Card::new(Suit::Trump, Rank::Rank21);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vingtetun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mylowest`
[INFO] [stdout]    --> webtarot_bot/src/player.rs:885:25
[INFO] [stdout]     |
[INFO] [stdout] 885 |             if let Some(mylowest) = hand.suit_lowest_over_card(Suit::Trump, winner_card){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mylowest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> webtarot_bot/src/player.rs:658:25
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     let mut myhighest = my_highest.unwrap();
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> webtarot_bot/src/player.rs:515:47
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut candidates: Vec<Card> = suits.into_iter()
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         self.in_out.send(&Command::Authenticate(AuthenticateCommand { nickname: self.player_info.nickname.clone() }));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 | /             self.stats.players.iter_mut().map(|pstat|
[INFO] [stdout] 293 | |                 pstat.in_taker_team = Some(pstat.is_taker)
[INFO] [stdout] 294 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.in_out.send(&Command::NewGame(variant));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:334:21
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 self.in_out.send(&Command::MarkReady);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Bid(BidCommand { target, slam: false })));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Pass));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:388:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::CallKing(CallKingCommand { card: self.call_king() })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::MakeDog(MakeDogCommand { cards: dog, slam: false })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   self.in_out.send(&Command::GamePlay(GamePlayCommand::Play(PlayCommand { card })));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> webtarot_bot/src/in_out_websocket.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.socket.close(None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deal_hands`
[INFO] [stdout]    --> webtarot_protocol/src/game.rs:558:21
[INFO] [stdout]     |
[INFO] [stdout] 558 |     use tarotgame::{deal_hands, deal_seeded_hands, bid, cards};
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> webtarot_bot/src/player.rs:658:25
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     let mut myhighest = my_highest.unwrap();
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> webtarot_bot/src/player.rs:515:47
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut candidates: Vec<Card> = suits.into_iter()
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         self.in_out.send(&Command::Authenticate(AuthenticateCommand { nickname: self.player_info.nickname.clone() }));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 | /             self.stats.players.iter_mut().map(|pstat|
[INFO] [stdout] 293 | |                 pstat.in_taker_team = Some(pstat.is_taker)
[INFO] [stdout] 294 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.in_out.send(&Command::NewGame(variant));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:334:21
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     self.in_out.send(&Command::InviteBot);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 self.in_out.send(&Command::MarkReady);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         self.in_out.send(&Command::JoinGame(JoinGameCommand { join_code: self.join_code.clone(), }));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Bid(BidCommand { target, slam: false })));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     self.in_out.send(&Command::GamePlay(GamePlayCommand::Pass));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:388:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::CallKing(CallKingCommand { card: self.call_king() })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 self.in_out.send(&Command::GamePlay(GamePlayCommand::MakeDog(MakeDogCommand { cards: dog, slam: false })));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_bot/src/player.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   self.in_out.send(&Command::GamePlay(GamePlayCommand::Play(PlayCommand { card })));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> webtarot_bot/src/in_out_websocket.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.socket.close(None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hands_deal1`
[INFO] [stdout]    --> webtarot_protocol/src/game.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let hands_deal1 = game.deal.hands();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hands_deal1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> webtarot_protocol/src/game.rs:564:22
[INFO] [stdout]     |
[INFO] [stdout] 564 |         fn eq(&self, other: &Self) -> bool { true }
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> webtarot_protocol/src/game.rs:568:30
[INFO] [stdout]     |
[INFO] [stdout] 568 |         fn notify(&mut self, event: &(PlayEvent, TarotGameState)) {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> webtarot_protocol/src/game.rs:699:9
[INFO] [stdout]     |
[INFO] [stdout] 699 |         game.make_dog(id0, dog, false);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> webtarot_protocol/src/game.rs:1027:9
[INFO] [stdout]      |
[INFO] [stdout] 1027 |         game.make_dog(id0, dog, false);// keep initial dog
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tr::tr`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tr::tr;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DealSnapshot`, `Turn`
[INFO] [stdout]  --> webtarot_client/src/components/player_list.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::protocol::{GameStateSnapshot, DealSnapshot, PlayerRole, GamePlayerState, Turn};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deal_size`, `trick`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | use tarotgame::{bid, deal, cards, deal_size, trick, Announce};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::format_join_code`
[INFO] [stdout]   --> webtarot_client/src/views/game.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::utils::format_join_code;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_next`
[INFO] [stdout]    --> tarotgame/src/pos.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn test_next() {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> webtarot_client/src/views/game.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty_scores`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let empty_scores = vec![0.0;nb_players];
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_scores`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn_info`
[INFO] [stdout]    --> webtarot_client/src/views/game.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let turn_info = match self.game_state.turn {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_turn_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `contract_info`
[INFO] [stdout]   --> webtarot_client/src/components/player_list.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     contract_info: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 23.07s
[INFO] running `Command { std: "docker" "inspect" "6b580f4873b1525deea08da21c1d391bc642f1ae53f866f1f813e379675a9403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b580f4873b1525deea08da21c1d391bc642f1ae53f866f1f813e379675a9403", kill_on_drop: false }`
[INFO] [stdout] 6b580f4873b1525deea08da21c1d391bc642f1ae53f866f1f813e379675a9403
